package com.example.blogsystem.utils;

import org.springframework.util.DigestUtils;

import java.util.UUID;

public class SecurityUtils {
    //加密
    public static String encrypt(String password){
        //随机生成盐值
        String salt = UUID.randomUUID().toString().replace("-","");
        //采用原始密码+盐值的方式进行加密算法
        //最终密码=md5(原密码+盐值)
        String finalPassword = DigestUtils.md5DigestAsHex((password+salt).getBytes());
        //将最终密码存储在数据库中
        //采用盐值+最终密码的方式
        return salt + finalPassword;
    }

    //校验
    public static boolean verify(String password, String sqlPassword){
        String salt = sqlPassword.substring(0,32);
        String securityPassword = DigestUtils.md5DigestAsHex((password+salt).getBytes());
        return (salt+securityPassword).equals(sqlPassword);
    }

    public static void main(String[] args) {
        String encrypt = encrypt("123");
        System.out.println(encrypt);
    }
}
